package it.azienda.stampe.parametri;

import it.azienda.framework.persistenza.DAOConnectionSingleton;
import it.azienda.framework.persistenza.DAOException;
import it.azienda.managerworkstandard.modello.BeanFornitore;
import it.azienda.managerworkstandard.modello.BeanProdotto;
import java.util.ArrayList;
import javax.faces.model.SelectItem;
import org.hibernate.Session;

public class BeanStampaInventario extends BeanStampa{
    
    public BeanStampaInventario() {
        this.beanFornitore=new BeanFornitore();
        this.beanProdotto=new BeanProdotto();
    }
    
    private String codiceDa;
    private String codiceA;
    private BeanFornitore beanFornitore=new BeanFornitore();
    private SelectItem[] listaFornitori;
    private java.lang.Integer idFornitore;
    
    private BeanProdotto beanProdotto=new BeanProdotto();
    private SelectItem[] listaProdotti;
    private java.lang.Integer idProdotto;
    
    public String getCodiceDa() {
        return codiceDa;
    }
    
    public void setCodiceDa(String codiceDa) {
        this.codiceDa = codiceDa;
    }
    
    public String getCodiceA() {
        return codiceA;
    }
    
    public void setCodiceA(String codiceA) {
        this.codiceA = codiceA;
    }
    
    public BeanFornitore getBeanFornitore() {
        return beanFornitore;
    }
    
    public void setBeanFornitore(BeanFornitore beanFornitore) {
        this.beanFornitore = beanFornitore;
    }
    
    public BeanProdotto getBeanProdotto() {
        return beanProdotto;
    }
    
    public void setBeanProdotto(BeanProdotto beanProdotto) {
        this.beanProdotto = beanProdotto;
    }
    
    public SelectItem[] getListaFornitori() {
        ArrayList lista = null;
        Session session = null;
        try {
            session = DAOConnectionSingleton.newSession();            
            lista = (ArrayList)session.createQuery("SELECT fornitori FROM BeanFornitore fornitori").list();            
        } catch (Exception ex) {
            
        } finally {
            DAOConnectionSingleton.closeSession();
        }
        listaFornitori = new SelectItem[lista.size()+1];
        BeanFornitore item = new BeanFornitore();
        listaFornitori[0] = new SelectItem("", "");
        for(int i=0; i<lista.size(); i++) {
            item = (BeanFornitore)lista.get(i);
            listaFornitori[i+1] = new SelectItem(item.getId().toString(),item.getCodice().toString() +" - "+ item.getRagioneSociale());
        }
        return listaFornitori;
    }
    
    public void setListaFornitori(SelectItem[] listaFornitori) {
        this.listaFornitori = listaFornitori;
    }
    
    public java.lang.Integer getIdFornitore() {
        return idFornitore;
    }
    
    public void setIdFornitore(java.lang.Integer idFornitore) {
        this.idFornitore = idFornitore;
    }
    
    public java.lang.Integer getIdProdotto() {
        return idProdotto;
    }
    
    public void setIdProdotto(java.lang.Integer idProdotto) {
        this.idProdotto = idProdotto;
    }
    
    public SelectItem[] getListaProdotti() {
        ArrayList lista = null;
        Session session = null;
        try {
            session = DAOConnectionSingleton.newSession();
            lista = (ArrayList)session.createQuery("SELECT prodotti FROM BeanProdotto prodotti").list();            
        } catch (Exception ex) {
            
        } finally {
            DAOConnectionSingleton.closeSession();
        }
        listaProdotti = new SelectItem[lista.size()+1];
        BeanProdotto item = new BeanProdotto();
        listaProdotti[0] = new SelectItem("", "");
        for(int i=0; i<lista.size(); i++) {
            item = (BeanProdotto)lista.get(i);
            listaProdotti[i+1] = new SelectItem(item.getId().toString(),item.getCodice().toString() +" - "+ item.getDescrizione());
        }
        return listaProdotti;
    }
    
    public void setListaProdotti(SelectItem[] listaProdotti) {
        this.listaProdotti = listaProdotti;
    }
    
}